
#ifndef _SPINNER_H_
#define _SPINNER_H_

#include <view/Controle.h>
#include <view/Botao.h>
#include <view/Texto.h>
#include <string>

class Spinner;


class BotaoMais : public Botao
{

public:

    BotaoMais(Spinner* spinner);

    bool AoBaixarEsq(EventoBaixarEsq ev);
    bool AoMoverSobre(EventoMoverSobre ev);
    bool AoMoverFora(EventoMoverFora ev);

private:

    Spinner* m_spinner;

};



class BotaoMenos : public Botao
{

public:

    BotaoMenos(Spinner* spinner);

    bool AoBaixarEsq(EventoBaixarEsq ev);
    bool AoMoverSobre(EventoMoverSobre ev);
    bool AoMoverFora(EventoMoverFora ev);

private:

    Spinner* m_spinner;

};



class Spinner : public Controle
{

public:

    Spinner(int cx, int cy, int x, int y);
    
    void AlterarTexto(std::string strTexto);

    bool AoMoverSobre(EventoMoverSobre ev);
    bool AoMoverFora(EventoMoverFora ev);

    virtual void AoAumentar();
    virtual void AoDiminuir();
    
private:

    Texto* m_texto;

    BotaoMais*  m_botaoMais;
    BotaoMenos* m_botaoMenos;

};


#endif  //_SPINNER_H_
